{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "from turtle import pen\n",
    "import networkx as nx\n",
    "import random\n",
    "import math\n",
    "import matplotlib.pyplot as plt\n",
    "import time\n",
    "\n",
    "from networkx import greedy_color\n",
    "from networkx.generators.community import stochastic_block_model\n",
    "import numpy as np\n",
    "\n",
    "# 传入图和社区划分结果，计算重叠模块度\n",
    "def overlapModularityQ(G: nx.Graph, communities: list[list[int]]) -> float:\n",
    "    # start = time.time()\n",
    "    # 网络边数量\n",
    "    edge_num = G.number_of_edges()\n",
    "    \n",
    "    def delta_cv(cluster: list[int], node: int):\n",
    "        # 计算节点 v 归属于簇 c 的概率\n",
    "        degree_cv = sum([1 for n in cluster if G.has_edge(node, n)]) # 计算节点node有多少条边与cluster中节点相连\n",
    "        return 1 / (1 + math.exp(-120 * degree_cv + 60))\n",
    "    \n",
    "    def l_uv(u: int, v: int):\n",
    "        # 计算节点 u 和 v 是否相邻\n",
    "        return 1 if G.has_edge(u, v) else 0\n",
    "\n",
    "    def k_u(u: int):\n",
    "        # 计算节点 u 的度数\n",
    "        return G.degree(u)\n",
    "\n",
    "    modularity = 0\n",
    "    for cluster in communities:\n",
    "        for u in G.nodes:\n",
    "            for v in G.nodes:\n",
    "                tmp_cv = delta_cv(cluster, u) * delta_cv(cluster, v) * (l_uv(u, v) - k_u(u) * k_u(v) / (2 * edge_num))\n",
    "                modularity += 1 / (2 * edge_num) * tmp_cv\n",
    "    # print(\"Q time:\", time.time() - start)\n",
    "    return modularity\n",
    "\n",
    "def showCommunity(G: nx.Graph, communities: list[list[int]]):\n",
    "    community_map = {}\n",
    "    for idx, community in enumerate(communities):\n",
    "        for node in community:\n",
    "            community_map[node] = idx\n",
    "    color_map = [community_map[node] for node in G.nodes()]\n",
    "    pos = {}\n",
    "    radius = 1\n",
    "    angles = np.linspace(0, 2 * np.pi, len(communities), endpoint=False)\n",
    "    community_centers = radius * np.column_stack([np.cos(angles), np.sin(angles)])\n",
    "    for idx, community in enumerate(communities):\n",
    "        subgraph = G.subgraph(community)\n",
    "        community_pos = nx.spring_layout(subgraph, scale=0.5)  # scale小一些以保持社区紧凑\n",
    "        community_pos = {node: pos + community_centers[idx] for node, pos in community_pos.items()}\n",
    "        pos.update(community_pos)\n",
    "        # 在图中单独展示社区结构\n",
    "        plt.figure()  # 创建新的图形\n",
    "        nx.draw(subgraph, pos=community_pos, with_labels=True)  # 绘制子图\n",
    "        plt.show()  # 显示图形\n",
    "    plt.figure(figsize=(8, 8))\n",
    "    nx.draw(G, pos, node_color=color_map, with_labels=True, node_size=100, cmap=plt.cm.jet)\n",
    "    nx.draw_networkx_edges(G, pos, alpha=0.3)\n",
    "    plt.axis('off')  # 隐藏坐标轴\n",
    "    plt.show()\n",
    "\n",
    "def mapToListIntInt(map: dict[int, int]) -> list[list[int]]:\n",
    "    result = {}\n",
    "    for key, value in map.items():\n",
    "        if value not in result:\n",
    "            result[value] = []\n",
    "        result[value].append(key)\n",
    "    return list(result.values())\n",
    "\n",
    "def getModularityGap(path_length: int) -> float:\n",
    "    if(path_length < 20):\n",
    "        return 0.08\n",
    "    if(path_length < 50):\n",
    "        return 0.06\n",
    "    if(path_length < 80):\n",
    "        return 0.04\n",
    "    if(path_length < 100):\n",
    "        return 0.02\n",
    "    if(path_length < 120):\n",
    "        return -0.02\n",
    "    if(path_length < 150):\n",
    "        return -0.05\n",
    "    if(path_length < 200):\n",
    "        return -0.08\n",
    "    return -0.1\n",
    "    \n",
    "\n",
    "def simulated_annealing(G, initial_temp, cooling_rate, iteration_num=3000):\n",
    "    # 将每个节点赋予一个社区\n",
    "    partition = {node: i for i, node in enumerate(G.nodes)}\n",
    "    # 计算初始划分的模块度\n",
    "    modularity = nx.algorithms.community.modularity(G, [set(G.nodes)])\n",
    "    best_partition = partition\n",
    "    best_modularity = modularity\n",
    "    temp = initial_temp\n",
    "    for _ in range(iteration_num):\n",
    "        for node in G.nodes:\n",
    "            # 获取当前已有的社区列表\n",
    "            community_choices = list(set(partition.values()))\n",
    "            # 计算每个社区的节点数\n",
    "            community_sizes = {community: list(partition.values()).count(community) for community in community_choices}\n",
    "            # 随机选择一个新的社区，但是不要选择那些节点数超过16个节点的社区\n",
    "            # 从社区列表中移除节点数超过16的社区\n",
    "            community_choices = [community for community in community_choices if community_sizes[community] <= 20]\n",
    "            # 随机选择一个新的社区\n",
    "            new_community = random.choice(community_choices)\n",
    "            # 记录旧的社区\n",
    "            old_community = partition[node]\n",
    "            # 将节点移动到新的社区\n",
    "            partition[node] = new_community\n",
    "\n",
    "            # 计算节点 node 到 new_community 之间的最短路径长度\n",
    "            target_nodes = [n for n, com in partition.items() if com == new_community and n != node]\n",
    "            shortest_path_lengths = {target: nx.shortest_path_length(G, source=node, target=target, weight='weight') for target in target_nodes}\n",
    "\n",
    "            # 获取最短的shortest_path_lengths\n",
    "            shortest_path_length = min(shortest_path_lengths.values()) if len(shortest_path_lengths) != 0 else 0\n",
    "\n",
    "            # 计算新的划分的模块度\n",
    "            new_modularity = nx.algorithms.community.modularity(G, list(set([frozenset([node for node, community in partition.items() if community == com]) for com in set(partition.values())]))) + getModularityGap(shortest_path_length)\n",
    "            delta_modularity = new_modularity - modularity\n",
    "            if delta_modularity > 0 or math.exp(delta_modularity / temp) > random.random():\n",
    "                modularity = new_modularity\n",
    "                if new_modularity > best_modularity:\n",
    "                    print(\"New Modularity:\", new_modularity)\n",
    "                    best_partition = partition.copy()\n",
    "                    best_modularity = new_modularity\n",
    "            else:\n",
    "                partition[node] = old_community  # 撤回变更\n",
    "        temp *= cooling_rate\n",
    "    return best_partition, best_modularity"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "G = nx.Graph()\n",
    "\n",
    "def randomWeight() ->int :\n",
    "    return random.randint(20, 100)\n",
    "\n",
    "def randomEdgeWithNodeNum():\n",
    "    node_num = 60\n",
    "    edge_num = 200\n",
    "    G.add_nodes_from(range(1, node_num+1))\n",
    "    while G.number_of_edges() < edge_num:\n",
    "        node1 = random.choice(range(1, node_num+1))\n",
    "        node2 = random.choice(range(1, node_num+1))\n",
    "        if node1 != node2 and not G.has_edge(node1, node2):\n",
    "            G.add_edge(node1, node2, weight=randomWeight())\n",
    "    for node in G.nodes:\n",
    "        if G.degree(node) == 0:\n",
    "            random_node = random.choice(range(node_num))\n",
    "            G.add_edge(node, random_node, weight=randomWeight())\n",
    "\n",
    "def addEdgeWithCertain():\n",
    "    G.add_weighted_edges_from([(1,3,20),(1,4,43),(2,3,37),(2,4,41),(4,5,29),(4,6,21),(5,7,33),(6,7,23)])\n",
    "\n",
    "def addGWithClusterShape():\n",
    "    sizes = [15, 15, 15, 15]  # n个簇的节点数\n",
    "    p_intra = 0.3  # 簇内的节点之间的连边概率\n",
    "    p_inter = 0.05  # 簇间的节点之间的连边概率\n",
    "    p_matrix = [[p_intra if i == j else p_inter for j in range(len(sizes))] for i in range(len(sizes))]\n",
    "    G.add_edges_from(stochastic_block_model(sizes, p_matrix, seed=0).edges())\n",
    "    # 为G的每条边分配随机的权重\n",
    "    for u, v in G.edges:\n",
    "        G[u][v]['weight'] = randomWeight()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "addGWithClusterShape()\n",
    "# randomEdgeWithNodeNum()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAzMAAAMzCAYAAACSq0y2AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8g+/7EAAAACXBIWXMAAA9hAAAPYQGoP6dpAADkK0lEQVR4nOzdd3QU5R7G8e9ssptk0xsQaugdlU4QASkXFRREJIgKWECsKBbsDWygYkHBBqgoigIiVopBpQuKShEsdAiB9GySbXP/iERCEnoIS57POZxLZt6Z/U1y1XnyNsM0TRMREREREREfYynvAkRERERERE6EwoyIiIiIiPgkhRkREREREfFJCjMiIiIiIuKTFGZERERERMQnKcyIiIiIiIhPUpgRERERERGfpDAjIiIiIiI+SWFGRERERER8ksKMiIiIiIj4JIUZERERERHxSQozIiIiIiLikxRmRERERETEJynMiIiIiIiIT1KYERERERERn6QwIyIiIiIiPklhRkREREREfJLCjIiIiIiI+CSFGRERERER8UkKMyIiIiIi4pMUZkRERERExCcpzIiIiIiIiE9SmBEREREREZ+kMCMiIiIiIj5JYUZERERERHySwoyIiIiIiPgkhRkREREREfFJCjMiIiIiIuKTFGZERERERMQnKcyIiIiIiIhPUpgRERERERGfpDAjIiIiIiI+SWFGRERERER8ksKMiIiIiIj4JIUZERERERHxSQozIiIiIiLikxRmRERERETEJynMiIiIiIiIT1KYERERERERn6QwIyIiIiIiPklhRkREREREfJLCjIiIiIiI+CSFGRERERER8UkKMyIiIiIi4pMUZkRERERExCcpzIiIiIiIiE9SmBEREREREZ+kMCMiIiIiIj5JYUZERERERHySwoyIiIiIiPgkhRkREREREfFJCjMiIiIiIuKTFGZERERERMQnKcyIiIiIiIhPUpgRERERERGfpDAjIiIiIiI+SWFGRERERER8ksKMiIiIiIj4JIUZERERERHxSQozIiIiIiLikxRmRERERETEJynMiIiIiIiIT1KYERERERERn6QwIyIiIiIiPklhRkREREREfJLCjIiIiIiI+CSFGRERERER8UkKMyIiIiIi4pMUZkRERERExCf5l3cBIiIiIiLlxTRN0hwucpxugm3+RNqtGIZR3mXJMVKY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JuuXrwlvdzkApttF9m8LsFVtWLAs8yE0+b90hmkezJQiIiIiInIsSlsRDSh1RbSMXBcdnllErsvDvjnP4Ni8nLA2l+EfWZWc3xaRv2czlRPHEVizGQAWAwKtftpn5ggUZkRERERETkBGrqvEFdFqHWFFtCWbUxg2bRUet5P0Je+Ts/47PHnZ2CrFE9HpaoLqtALAMApC0bShbYssDy1FKcyIiIiIiJwE0zSPaUW0g06kV0dKpjAjIiIiInKanUivjhSnMCMiIiIiUk6Ot1dHilKYERERERERn6RNM0VERERExCcpzIiIiIiIiE9SmBEREREREZ+kMCMiIiIiIj5JYUZERERERHySwoyIiIiIiPgkhRkREREREfFJCjMiIiIiIuKTFGZERERERMQnKcyIiIiIiIhPUpgRERERERGfpDAjIiIiIiI+SWFGRERERER8ksKMiIiIiIj4JIUZERERERHxSQozIiIiIiLikxRmRERERETEJynMiIiIiIiIT1KYERERERERn6QwIyIiIiIiPklhRkREREREfJLCjIiIiIiI+CSFGRERERER8UkKMyIiIiIi4pMUZkRERERExCcpzIiIiIiIiE9SmBEREREREZ+kMCMiIiIiIj5JYUZERERERHySwoyIiIiIiPgkhRkREREREfFJCjMiIiIiIuKTFGZERERERMQnKcyIiIiIiIhPUpgRERERERGfpDAjIiIiIiI+SWFGRERERER8ksKMiIiIiIj4JIUZERERERHxSQozIiIiIiLikxRmRERERETEJynMiIiIiIiIT1KYERERERERn6QwIyIiIiIiPklhRkREREREfJLCjIiIiIiI+CSFGRERERER8UkKMyIiIiIi4pMUZkRERERExCcpzIiIiIiIiE9SmBEREREREZ+kMCMiIiIiIj5JYUZERERERHySwoyIiIiIiPgkhRkREREREfFJCjMiIiIiIuKTFGZERERERMQnKcyIiIiIiIhPUpgRERERERGfpDAjIiIiIiI+SWFGRERERER8ksKMiIiIiIj4JIUZERERERHxSQozIiIiIiLikxRmRERERETEJynMiIiIiIiIT1KYERERERERn6QwIyIiIiIiPklhRkREREREfJLCjIiIiIiI+CSFGRERERER8UkKMyIiIiIi4pMUZkRERERExCcpzIiIiIiIiE9SmBEREREREZ+kMCMiIiIiIj5JYUZERERERHySwoyIiIiIiPgkhRkREREREfFJCjMiIiIiIuKTFGZERERERMQnKcyIiIiIiIhPUpgRERERERGfpDAjIiIiIiI+SWFGRERERER8ksKMiIiIiIj4JIUZERERERHxSQozIiIiIiLikxRmRERERETEJynMiIiIiIiIT1KYERERERERn6QwIyIiIiIiPklhRkREREREfJLCjIiIiIiI+CSFGRERERER8UkKMyIiIiIi4pMUZkRERERExCcpzIiIiIiIiE9SmBEREREREZ+kMCMiIiIiIj5JYUZERERERHySwoyIiIiIiPgkhRkREREREfFJCjMiIiIiIuKTFGZERERERMQnKcyIiIiIiIhPUpgRERERERGfpDAjIiIiIiI+SWFGRERERER8ksKMiIiIiIj4JIUZERERERHxSQozIiIiIiLikxRmRERERETEJynMiIiIiIiIT1KYERERERERn6QwIyIiIiIiPklhRkREREREfJLCjIiIiIiI+CSFGRERERER8UkKMyIiIiIi4pMUZkRERERExCcpzIiIiIiIiE9SmBEREREREZ+kMCMiIiIiIj5JYUZERERERHySwoyIiIiIiPgkhRkREREREfFJCjMiIiIiIuKTFGZERERERMQnKcyIiIiIiIhPUpgRERERERGfpDAjIiIiIiI+SWFGRERERER8ksKMiIiIiIj4JIUZERERERHxSQozIiIiIiLikxRmRERERETEJynMiIiIiIiIT1KYERERERERn6QwIyIiIiIiPklhRkREREREfJLCjIiIiIiI+CSFGRERERER8UkKMyIiIiIi4pMUZkRERERExCcpzIiIiIiIiE9SmBEREREREZ+kMCMiIiIiIj5JYUZERERERHySwoyIiIiIiPgkhRkREREREfFJCjMiIiIiIuKTFGZERERERMQnKcyIiIiIiIhPUpgRERERERGfpDAjIiIiIiI+SWFGRERERER8ksKMiIiIiIj4JIUZERERERHxSQozIiIiIiLikxRmRERERETEJynMiIiIiIiIT1KYERERERERn6QwIyIiIiIiPklhRkREREREfJLCjIiIiIiI+CSFGRERERER8UkKMyIiIiIi4pMUZkRERERExCcpzIiIiIiIiE9SmBEREREREZ+kMCMiIiIiIj5JYUZERERERHySwoyI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brfb9PPzM19//fWjtp08ebIJmJMmTTruzzldsrOzzYEDB5qAef/995tut/uYrps/f74JmH/88UcZVygiIiJyZOqZkaM6uN9KjUg7kcG2EjecDA0N5auvvuK8887jf//7Hz/88AMAVatWZdq0aaxatYrQ0FC6detGv379+Ouvv46rhu3bt3PZZZcxdepUTNPkhx9+4K677sLf35/ly5ezY8cOEhMTi9R8sDdo5MiRhT0x559/PtWrVz+hoWZ+fn5Urlz5iD0zB40YMYLbb7+d22+/nQULFhz3Z5W1v//+m4SEBObPn8+sWbN46qmnjnnTz0WLFlG9enXq169fxlWKiIiIHJnCjJwyISEhfPnll7Rp04ZevXoV2fW9TZs2/Pjjj3zwwYes+X0Tzdt35o57HyAjI+OI93S73bz44os0adKEn376qXBjykOHrM2cOZNq1arRsWPHItdWqVKF119/nU8//bRwSWaLxUJiYiIff/wxLpfruJ+xtOWZS/L888/To0cPBgwYwKZNm477s8rKt99+S+vWrcnJyWHFihVcccUVx3X9okWL6NatW4mhVkREROR0UpiRUyo4OJjnnnuOkJAQLrzwQgIDA4mJiSHh/E7c8dzbTN5ZGcsVE6h0wxQ+8+tIo5teoUbDcwgJCSEqKoprrrmGlJQUgMI9YkaPHs11113Hxo0buf766wEKl2d2u918/PHHhauxHW7AgAEkJiZyyy23sHv3bqBgVbOUlBQWLVp03M93PGHG39+/MGj17t2bAwcOHPfnnUqmafLcc89x0UUX0b59e1avXk2zZs2O6x779u3j119/1XwZEREROSMozMgpt2/fPlq0aEGdOnXweDx0umQAv+xI55UxN7J+8ezCdu7M/ez7bDx79+3D1m4gHXv144svvqBbt27ceuuttGvXDoCVK1fy8ssvExYWRkREBGFhYWz8ewc70hzMX5DEvn37igwxO9yrr75KQEAAw4cPxzRNzj33XBo1asSHH3543M92PGEGIDw8nM8//5yMjAyuuOIKnE7ncX/mqZCTk0NiYiL33XcfY8aM4fPPPycyMvK47/Pdd98BKMyIiIjIGUFhRk65iy++mAULFvD777+TcPn1rK1yEZUSx2GtVJuMVXML22Us/xjTlU/lQU8R1qYvv9a4jKj65/Hbb7/x5ptvMn78eFatWkWbNm0YN24chmFQvW4jooe8wjvpDek47iuuf/FTAms0pUevSwgNDeW8887j9ddfLzIMLTo6mjfffJMvvviCqVOnYhgGV111FbNnzyY3N/e4nu14wwxAnTp1mD17NkuXLuWWW245oZXUTsZff/1Fhw4d+OKLL/jkk09K3QjzWCxatIjGjRtTtWrVU1yliIiIyPFTmJEyk2/6kdKwb8HcCosf/qExePOzC887/lhGUL02+IdXAsOCYRg4zx8JhkGlSpW48cYb8ff3Z+fOnYwd9xSGNZCUrDy89oIeBXf6XlIXTAE/K5ZzehPSeRihsVW5+eabue6664rU0rt3b4YNG8aoUaPYtm0bgwYNIjs7m/nz5x/XM8XFxZGcnHzcy0x36tSJN954g7feeouJEyce17Un45tvvqFNmzbk5uaycuVK+vfvf1L3OzhfRkRERORMoDAjZeaDpZvJzkjFlZ5M5qq55P69hsBa5wDgztqP15GOrUq9/y4wLFhsgdRs2pqdO3fSoEEDpk6dyrUjboVK9bDF1StsB+AXHEnc9a9SOXEsYe36E9jif+xsfTMXXT6Id999lz///LNIPS+++CIRERFcd9111KlThzZt2hz3qmZxcXF4PB72799/3N+PoUOHcu+99zJ69Gi++OKL477+eJimyTPPPMNFF11Ehw4dWL16NU2bNj2pe27dupW///5bYUZERETOGAozUiZM0+TJh+5nx8uD2T3lRtK+ewd7gw5E9RwJgCc7DQC/kKgi1xkYeKPrAAW9GdeNuJnvvvqcqG7D4bDRWX72cGyxtQ75zIImv1kbALBx48Yi7cPDw3nnnXdYvHgxr732GldddRVffvkl6enpx/xcBzfOPLiYwPF6+umnufTSS0lMTOS33347oXscTXZ2NldeeSX3338/Dz74IJ9//jkREREnfd9FixZhsVjo0qXLSd9LRERE5FRQmJEykeZwYbS4mEqJY4m+5E6C6rTCNL3gKVgO2XTnA2D4WYtcZwJZroIlf19//XUqValKyDk9sVaKP6bPNU3IzShYNSwmJqbY+e7du3PLLbdw77330rp1a1wuF59+OpvUHCc70hyk5jiPOKflYJg53nkzB1ksFt5//33q1q1Lnz592Ldv3wndpzR//vknHTp04Ouvv2b27Nk8+eSTJa7ydiIWLVpEq1atTkkwEhERETkVFGakTOQ43VijaxAU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oOgoejetQrCfFv2LiIiIXAiFGZESZBgGlWvU5q577+O5Z54k1Oqjxf4iIiIiF0lrZkRKkMlkwkhPJdjLSViA5XJ3R0RERKRUU2lmkRJmGIZGY0RERESKgMKMSAlTmBEREREpGgozIiVMYUZERESkaCjMiJQwhRkRERGRoqEwI1LCFGZEREREiobCjEgJU5gRERERKRoKMyIlTGFGREREpGgozIiUMIUZERERkaKhMCNSwhRmRERERIqGwoxICVOYERERESkaCjMiJUxhRkRERKRoKMyIlDCFGREREZGioTAjUsIUZkRERESKhsKMSAlTmBEREREpGgozIiVMYUZERESkaCjMiJQwhRkRERGRoqEwI1LCFGZEREREiobCjEgJMwwDs1l/9UREREQulT5RiZQwj8ejkRkRERGRIqAwI1LCNM1MREREpGgozIiUMIUZERERkaKhMCNSwhRmRERERIqGwoxICTIMA5NfEEkub+JtDgzDuNxdEhERESm1TIY+TYkUqdTUVN588002bdrE5s2bSUhI4IOPJ+NXvz3T1x/kUHxadlvv35eStuM7zhw/QtmyZYmJiWHMmDEEBARcxicQERERKR0UZkSK2MGDB6levTqRkZHUqFGDVatWUfG2EfjWaw9A1l+4hJVTSd40D2udVgRf05joMul88+U02rdvz9KlSy/fA4iIiIiUEppmJlLEKlasyPHjxzl06BD9hv0XAIfbg8E/QcaVGk/ylgUE1G9HuV4j8WvYhe1VevLwyDH88MMPLFq06LL1X0RERKS0UJgRKWK+vr5ERESQZHfy+pLfM188Z/zTEfsHeNwE1GuTedjIbPK9vToAX331VQn2WERERKR0UpgRKSbzth0lw+nJ85jhdgJg8vb95zUDMgxvALZu3Vr8HRQREREp5RRmRIqBYRhMX38w3+Pe4ZUBSD+6O8frGUd2ARAbG1tsfRMRERG5Wnhf7g6IXI0S0pwcik87d3ZZNt+Imlgq1SF50zy8g8rgF9kA55kjnFn6IZi9sdvtJdpfERERkdJIYUakGNgcrgLblOs1ktML3+DMd+9mvmAyE9y8J+mHd+JnO1nMPRQREREp/RRmRIpBgKXgv1reQWWJuPsNnPGxuG0J+IRVxiswjKMT76VmnVol0EsRERGR0k1rZkSKQZjVh2rhVkyFaOsTXhm/qtfhFRiG8/Rh3KnxdLqlY7H3UURERKS0U5gRKQYmk4mB0VEXdI5heEhYORWLnz9Dhw4tno6JiIiIXEU0zUykGEycOJETcWew79oCgH3/ZlwppwEIbtoDs18A8cs+xnA7sZSvgeFxkbZ7NRnH9jJp8hQiIyMvZ/dFRERESgWTYRj5FVwSkYsUFRXFoUOH8jxW+T9T8A6tQOqvP5L880JcCcfBZMK3Um1eG/0ij9/bq4R7KyIiIlI6KcyIFLPVe+MYOnMrdocbIEe55qw1Nf4WLyYNaEqb2uVKvH8iIiIipZXCjEgJSLI7mb/tKNPWH+RQfFr269XCrQyKjqJ30yoE+/lcxh6KiIiIlD4KMyIlyDAMEtOcpDpcBFq8CbX6YDIVpuaZiIiIiJxLYUZEREREREollWYWEREREZFSSWFGRERERERKJYUZEREREREplRRmRERERESkVFKYERERERGRUklhRkRERERESiWFGRERERERKZUUZkREREREpFRSmBERERERkVJJYUZEREREREolhRkRERERESmVFGZERERERKRUUpgREREREZFSSWFGRERERERKJYUZEREREREplRRmRERERESkVFKYERERERGRUklhRkRERERESiWFGRERERERKZUUZkREREREpFRSmBERERERkVJJYUZEREREREolhRkRERERESmVFGZERERERKRUUpgREREREZFSSWFGRERERERKJYUZEREREREplRRmRERERESkVFKYERERERGRUklhRkRERERESiWFGRERERERKZUUZkREREREpFRSmBERERERkVJJYUZEREREREolhRkRERERESmVFGZERERERKRUUpgREREREZFSSWFGRERERERKJYUZEREREREplRRmRERERESkVFKYERERERGRUklhRkRERERESiWFGRERERERKZUUZkREREREpFRSmBERERERkVJJYUZEREREREolhRkRERERESmVFGZERERERKRUUpgREREREZFSSWFGRERERERKJYUZEREREREplRRmRERERESkVFKYERERERGRUklhRkRERERESiWFGRERERERKZUUZkREREREpFRSmBERERERkVJJYUZEREREREolhRkRERERESmVFGZERERERKRUUpgREREREZFSSWFGRERERERKJYUZEREREREplRRmRERERESkVFKYERERERGRUklhRkRERERESiWFGRERERERKZUUZkREREREpFRSmBERERERkVLp/wHGwlSMviUhIAAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 800x800 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 可视化G\n",
    "plt.figure(figsize=(8, 8))\n",
    "nx.draw(G, with_labels=True, node_size=100)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "ename": "NetworkXNoPath",
     "evalue": "Node 17 not reachable from 0",
     "output_type": "error",
     "traceback": [
      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[0;31mKeyError\u001b[0m                                  Traceback (most recent call last)",
      "File \u001b[0;32m~/miniconda3/envs/cplex/lib/python3.10/site-packages/networkx/algorithms/shortest_paths/weighted.py:245\u001b[0m, in \u001b[0;36mdijkstra_path_length\u001b[0;34m(G, source, target, weight)\u001b[0m\n\u001b[1;32m    244\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m--> 245\u001b[0m     \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mlength\u001b[49m\u001b[43m[\u001b[49m\u001b[43mtarget\u001b[49m\u001b[43m]\u001b[49m\n\u001b[1;32m    246\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mKeyError\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m err:\n",
      "\u001b[0;31mKeyError\u001b[0m: 17",
      "\nThe above exception was the direct cause of the following exception:\n",
      "\u001b[0;31mNetworkXNoPath\u001b[0m                            Traceback (most recent call last)",
      "Cell \u001b[0;32mIn[5], line 3\u001b[0m\n\u001b[1;32m      1\u001b[0m initial_temp \u001b[38;5;241m=\u001b[39m \u001b[38;5;241m1.0\u001b[39m\n\u001b[1;32m      2\u001b[0m cooling_rate \u001b[38;5;241m=\u001b[39m \u001b[38;5;241m0.99\u001b[39m\n\u001b[0;32m----> 3\u001b[0m best_partition, best_modularity \u001b[38;5;241m=\u001b[39m \u001b[43msimulated_annealing\u001b[49m\u001b[43m(\u001b[49m\u001b[43mG\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43minitial_temp\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mcooling_rate\u001b[49m\u001b[43m)\u001b[49m\n",
      "Cell \u001b[0;32mIn[1], line 117\u001b[0m, in \u001b[0;36msimulated_annealing\u001b[0;34m(G, initial_temp, cooling_rate, iteration_num)\u001b[0m\n\u001b[1;32m    115\u001b[0m \u001b[38;5;66;03m# 计算节点 node 到 new_community 之间的最短路径长度\u001b[39;00m\n\u001b[1;32m    116\u001b[0m target_nodes \u001b[38;5;241m=\u001b[39m [n \u001b[38;5;28;01mfor\u001b[39;00m n, com \u001b[38;5;129;01min\u001b[39;00m partition\u001b[38;5;241m.\u001b[39mitems() \u001b[38;5;28;01mif\u001b[39;00m com \u001b[38;5;241m==\u001b[39m new_community \u001b[38;5;129;01mand\u001b[39;00m n \u001b[38;5;241m!=\u001b[39m node]\n\u001b[0;32m--> 117\u001b[0m shortest_path_lengths \u001b[38;5;241m=\u001b[39m {target: nx\u001b[38;5;241m.\u001b[39mshortest_path_length(G, source\u001b[38;5;241m=\u001b[39mnode, target\u001b[38;5;241m=\u001b[39mtarget, weight\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mweight\u001b[39m\u001b[38;5;124m'\u001b[39m) \u001b[38;5;28;01mfor\u001b[39;00m target \u001b[38;5;129;01min\u001b[39;00m target_nodes}\n\u001b[1;32m    119\u001b[0m \u001b[38;5;66;03m# 获取最短的shortest_path_lengths\u001b[39;00m\n\u001b[1;32m    120\u001b[0m shortest_path_length \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mmin\u001b[39m(shortest_path_lengths\u001b[38;5;241m.\u001b[39mvalues()) \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mlen\u001b[39m(shortest_path_lengths) \u001b[38;5;241m!=\u001b[39m \u001b[38;5;241m0\u001b[39m \u001b[38;5;28;01melse\u001b[39;00m \u001b[38;5;241m0\u001b[39m\n",
      "Cell \u001b[0;32mIn[1], line 117\u001b[0m, in \u001b[0;36m<dictcomp>\u001b[0;34m(.0)\u001b[0m\n\u001b[1;32m    115\u001b[0m \u001b[38;5;66;03m# 计算节点 node 到 new_community 之间的最短路径长度\u001b[39;00m\n\u001b[1;32m    116\u001b[0m target_nodes \u001b[38;5;241m=\u001b[39m [n \u001b[38;5;28;01mfor\u001b[39;00m n, com \u001b[38;5;129;01min\u001b[39;00m partition\u001b[38;5;241m.\u001b[39mitems() \u001b[38;5;28;01mif\u001b[39;00m com \u001b[38;5;241m==\u001b[39m new_community \u001b[38;5;129;01mand\u001b[39;00m n \u001b[38;5;241m!=\u001b[39m node]\n\u001b[0;32m--> 117\u001b[0m shortest_path_lengths \u001b[38;5;241m=\u001b[39m {target: \u001b[43mnx\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mshortest_path_length\u001b[49m\u001b[43m(\u001b[49m\u001b[43mG\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43msource\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mnode\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mtarget\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mtarget\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mweight\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43mweight\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m)\u001b[49m \u001b[38;5;28;01mfor\u001b[39;00m target \u001b[38;5;129;01min\u001b[39;00m target_nodes}\n\u001b[1;32m    119\u001b[0m \u001b[38;5;66;03m# 获取最短的shortest_path_lengths\u001b[39;00m\n\u001b[1;32m    120\u001b[0m shortest_path_length \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mmin\u001b[39m(shortest_path_lengths\u001b[38;5;241m.\u001b[39mvalues()) \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mlen\u001b[39m(shortest_path_lengths) \u001b[38;5;241m!=\u001b[39m \u001b[38;5;241m0\u001b[39m \u001b[38;5;28;01melse\u001b[39;00m \u001b[38;5;241m0\u001b[39m\n",
      "File \u001b[0;32m~/miniconda3/envs/cplex/lib/python3.10/site-packages/networkx/classes/backends.py:148\u001b[0m, in \u001b[0;36m_dispatch.<locals>.wrapper\u001b[0;34m(*args, **kwds)\u001b[0m\n\u001b[1;32m    144\u001b[0m         \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m    145\u001b[0m             \u001b[38;5;28;01mraise\u001b[39;00m NetworkXNotImplemented(\n\u001b[1;32m    146\u001b[0m                 \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;132;01m{\u001b[39;00mname\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124m not implemented by \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mplugin_name\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m    147\u001b[0m             )\n\u001b[0;32m--> 148\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mfunc\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwds\u001b[49m\u001b[43m)\u001b[49m\n",
      "File \u001b[0;32m~/miniconda3/envs/cplex/lib/python3.10/site-packages/networkx/algorithms/shortest_paths/generic.py:317\u001b[0m, in \u001b[0;36mshortest_path_length\u001b[0;34m(G, source, target, weight, method)\u001b[0m\n\u001b[1;32m    315\u001b[0m     paths \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mlen\u001b[39m(p) \u001b[38;5;241m-\u001b[39m \u001b[38;5;241m1\u001b[39m\n\u001b[1;32m    316\u001b[0m \u001b[38;5;28;01melif\u001b[39;00m method \u001b[38;5;241m==\u001b[39m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mdijkstra\u001b[39m\u001b[38;5;124m\"\u001b[39m:\n\u001b[0;32m--> 317\u001b[0m     paths \u001b[38;5;241m=\u001b[39m \u001b[43mnx\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mdijkstra_path_length\u001b[49m\u001b[43m(\u001b[49m\u001b[43mG\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43msource\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mtarget\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mweight\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m    318\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:  \u001b[38;5;66;03m# method == 'bellman-ford':\u001b[39;00m\n\u001b[1;32m    319\u001b[0m     paths \u001b[38;5;241m=\u001b[39m nx\u001b[38;5;241m.\u001b[39mbellman_ford_path_length(G, source, target, weight)\n",
      "File \u001b[0;32m~/miniconda3/envs/cplex/lib/python3.10/site-packages/networkx/algorithms/shortest_paths/weighted.py:247\u001b[0m, in \u001b[0;36mdijkstra_path_length\u001b[0;34m(G, source, target, weight)\u001b[0m\n\u001b[1;32m    245\u001b[0m     \u001b[38;5;28;01mreturn\u001b[39;00m length[target]\n\u001b[1;32m    246\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mKeyError\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m err:\n\u001b[0;32m--> 247\u001b[0m     \u001b[38;5;28;01mraise\u001b[39;00m nx\u001b[38;5;241m.\u001b[39mNetworkXNoPath(\u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mNode \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mtarget\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m not reachable from \u001b[39m\u001b[38;5;132;01m{\u001b[39;00msource\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m\"\u001b[39m) \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01merr\u001b[39;00m\n",
      "\u001b[0;31mNetworkXNoPath\u001b[0m: Node 17 not reachable from 0"
     ]
    }
   ],
   "source": [
    "initial_temp = 1.0\n",
    "cooling_rate = 0.99\n",
    "best_partition, best_modularity = simulated_annealing(G, initial_temp, cooling_rate)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "print(\"Best Partition:\", best_partition)\n",
    "print(\"Best Modularity:\", best_modularity)\n",
    "\n",
    "print(mapToListIntInt(best_partition))\n",
    "print(\"overlapModularityQ:\", overlapModularityQ(G, mapToListIntInt(best_partition)))\n",
    "\n",
    "showCommunity(G, mapToListIntInt(best_partition))"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.10.13"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
